package tianrun.ziguan.api.calculate.config.dto.request;

import io.swagger.annotations.ApiModelProperty;
import tianrun.ziguan.api.calculate.config.enums.DrivingTypeEnum;
import tianrun.ziguan.api.calculate.config.enums.RollbackTypeEnum;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

public class RollbackDataParam {
    @NotNull(message = "请传入开始时间")
    @ApiModelProperty("计算开始时间")
    private Long startTime;
    @NotBlank(message = "请传入场站编号")
    @ApiModelProperty("场站编号")
    private String deptNum;
    @NotBlank(message = "请传入资产编号")
    @ApiModelProperty("资产编号")
    private String assetNum;
    @NotBlank(message = "请传入分析点")
    @ApiModelProperty("分析点")
    private String calLabel;

    //指标回退时使用
    private DrivingTypeEnum drivingType;

    private RollbackTypeEnum rollbackType;

    public RollbackTypeEnum getRollbackType() {
        return rollbackType;
    }

    public void setRollbackType(RollbackTypeEnum rollbackType) {
        this.rollbackType = rollbackType;
    }

    public RollbackDataParam(Long startTime, String deptNum, String assetNum, String calLabel) {
        this.startTime = startTime;
        this.deptNum = deptNum;
        this.assetNum = assetNum;
        this.calLabel = calLabel;
    }
    public RollbackDataParam(Long startTime, String deptNum, String assetNum, String calLabel,DrivingTypeEnum drivingType,RollbackTypeEnum rollbackType) {
        this.startTime = startTime;
        this.deptNum = deptNum;
        this.assetNum = assetNum;
        this.calLabel = calLabel;
        this.drivingType = drivingType;
        this.rollbackType = rollbackType;
    }

    public DrivingTypeEnum getDrivingType() {
        return drivingType;
    }

    public void setDrivingType(DrivingTypeEnum drivingType) {
        this.drivingType = drivingType;
    }

    // 各个字段的getter和setter方法
    public Long getStartTime() {
        return startTime;
    }

    public void setStartTime(Long startTime) {
        this.startTime = startTime;
    }

    public String getDeptNum() {
        return deptNum;
    }

    public void setDeptNum(String deptNum) {
        this.deptNum = deptNum;
    }

    public String getAssetNum() {
        return assetNum;
    }

    public void setAssetNum(String assetNum) {
        this.assetNum = assetNum;
    }

    public String getCalLabel() {
        return calLabel;
    }

    public void setCalLabel(String calLabel) {
        this.calLabel = calLabel;
    }
}
